// $ANTLR 3.2 Sep 23, 2009 12:02:23 F:\\workspace\\ESA\\grammar\\C.g 2009-11-14 17:26:27

package per.chenjw.esa.front;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

public class CLexer extends Lexer {
    public static final int CAST=8;
    public static final int BIT_NEG=20;
    public static final int FloatTypeSuffix=39;
    public static final int LETTER=46;
    public static final int MOD=26;
    public static final int EOF=-1;
    public static final int LOOP_INIT=9;
    public static final int T__93=93;
    public static final int T__94=94;
    public static final int T__91=91;
    public static final int INC=13;
    public static final int T__92=92;
    public static final int STRING_LITERAL=34;
    public static final int T__90=90;
    public static final int FLOATING_POINT_LITERAL=32;
    public static final int BIT_OR=19;
    public static final int VARDEF=7;
    public static final int COMMENT=43;
    public static final int T__98=98;
    public static final int T__97=97;
    public static final int T__96=96;
    public static final int T__95=95;
    public static final int T__80=80;
    public static final int T__81=81;
    public static final int T__82=82;
    public static final int T__83=83;
    public static final int LINE_COMMENT=44;
    public static final int IntegerTypeSuffix=37;
    public static final int CHARACTER_LITERAL=33;
    public static final int T__85=85;
    public static final int T__84=84;
    public static final int MUL=24;
    public static final int T__87=87;
    public static final int T__86=86;
    public static final int T__89=89;
    public static final int T__88=88;
    public static final int T__71=71;
    public static final int WS=42;
    public static final int T__72=72;
    public static final int T__70=70;
    public static final int LINE_COMMAND=45;
    public static final int OR=16;
    public static final int LOOP_COND=10;
    public static final int SURPLUS=28;
    public static final int CALL=4;
    public static final int T__76=76;
    public static final int T__75=75;
    public static final int T__74=74;
    public static final int T__73=73;
    public static final int DECIMAL_LITERAL=31;
    public static final int EscapeSequence=35;
    public static final int T__79=79;
    public static final int T__78=78;
    public static final int T__77=77;
    public static final int T__68=68;
    public static final int T__69=69;
    public static final int T__66=66;
    public static final int DEC=14;
    public static final int T__67=67;
    public static final int T__64=64;
    public static final int T__65=65;
    public static final int T__62=62;
    public static final int T__63=63;
    public static final int BIT_AND=18;
    public static final int Exponent=38;
    public static final int T__61=61;
    public static final int AND=15;
    public static final int T__60=60;
    public static final int HexDigit=36;
    public static final int T__55=55;
    public static final int T__56=56;
    public static final int INDEX=6;
    public static final int T__57=57;
    public static final int T__58=58;
    public static final int T__51=51;
    public static final int T__52=52;
    public static final int T__53=53;
    public static final int T__54=54;
    public static final int IDENTIFIER=12;
    public static final int T__59=59;
    public static final int PLUS=27;
    public static final int HEX_LITERAL=29;
    public static final int T__50=50;
    public static final int LOOP_ITER=11;
    public static final int T__47=47;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int OCTAL_LITERAL=30;
    public static final int BIT_SHL=22;
    public static final int BIT_SHR=23;
    public static final int UnicodeEscape=41;
    public static final int BIT_XOR=21;
    public static final int NEG=17;
    public static final int ASSIGN=5;
    public static final int DIV=25;
    public static final int OctalEscape=40;

    // delegates
    // delegators

    public CLexer() {;} 
    public CLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public CLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);

    }
    public String getGrammarFileName() { return "F:\\workspace\\ESA\\grammar\\C.g"; }

    // $ANTLR start "T__47"
    public final void mT__47() throws RecognitionException {
    traceIn("T__47", 1);
        try {
            int _type = T__47;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:11:7: ( '{' )
            // F:\\workspace\\ESA\\grammar\\C.g:11:9: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__47", 1);
        }
    }
    // $ANTLR end "T__47"

    // $ANTLR start "T__48"
    public final void mT__48() throws RecognitionException {
    traceIn("T__48", 2);
        try {
            int _type = T__48;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:12:7: ( '}' )
            // F:\\workspace\\ESA\\grammar\\C.g:12:9: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__48", 2);
        }
    }
    // $ANTLR end "T__48"

    // $ANTLR start "T__49"
    public final void mT__49() throws RecognitionException {
    traceIn("T__49", 3);
        try {
            int _type = T__49;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:13:7: ( 'typedef' )
            // F:\\workspace\\ESA\\grammar\\C.g:13:9: 'typedef'
            {
            match("typedef"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__49", 3);
        }
    }
    // $ANTLR end "T__49"

    // $ANTLR start "T__50"
    public final void mT__50() throws RecognitionException {
    traceIn("T__50", 4);
        try {
            int _type = T__50;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:14:7: ( ';' )
            // F:\\workspace\\ESA\\grammar\\C.g:14:9: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__50", 4);
        }
    }
    // $ANTLR end "T__50"

    // $ANTLR start "T__51"
    public final void mT__51() throws RecognitionException {
    traceIn("T__51", 5);
        try {
            int _type = T__51;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:15:7: ( ',' )
            // F:\\workspace\\ESA\\grammar\\C.g:15:9: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__51", 5);
        }
    }
    // $ANTLR end "T__51"

    // $ANTLR start "T__52"
    public final void mT__52() throws RecognitionException {
    traceIn("T__52", 6);
        try {
            int _type = T__52;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:16:7: ( '=' )
            // F:\\workspace\\ESA\\grammar\\C.g:16:9: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__52", 6);
        }
    }
    // $ANTLR end "T__52"

    // $ANTLR start "T__53"
    public final void mT__53() throws RecognitionException {
    traceIn("T__53", 7);
        try {
            int _type = T__53;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:17:7: ( '(' )
            // F:\\workspace\\ESA\\grammar\\C.g:17:9: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__53", 7);
        }
    }
    // $ANTLR end "T__53"

    // $ANTLR start "T__54"
    public final void mT__54() throws RecognitionException {
    traceIn("T__54", 8);
        try {
            int _type = T__54;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:18:7: ( ')' )
            // F:\\workspace\\ESA\\grammar\\C.g:18:9: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__54", 8);
        }
    }
    // $ANTLR end "T__54"

    // $ANTLR start "T__55"
    public final void mT__55() throws RecognitionException {
    traceIn("T__55", 9);
        try {
            int _type = T__55;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:19:7: ( '[' )
            // F:\\workspace\\ESA\\grammar\\C.g:19:9: '['
            {
            match('['); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__55", 9);
        }
    }
    // $ANTLR end "T__55"

    // $ANTLR start "T__56"
    public final void mT__56() throws RecognitionException {
    traceIn("T__56", 10);
        try {
            int _type = T__56;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:20:7: ( ']' )
            // F:\\workspace\\ESA\\grammar\\C.g:20:9: ']'
            {
            match(']'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__56", 10);
        }
    }
    // $ANTLR end "T__56"

    // $ANTLR start "T__57"
    public final void mT__57() throws RecognitionException {
    traceIn("T__57", 11);
        try {
            int _type = T__57;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:21:7: ( '...' )
            // F:\\workspace\\ESA\\grammar\\C.g:21:9: '...'
            {
            match("..."); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__57", 11);
        }
    }
    // $ANTLR end "T__57"

    // $ANTLR start "T__58"
    public final void mT__58() throws RecognitionException {
    traceIn("T__58", 12);
        try {
            int _type = T__58;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:22:7: ( 'extern' )
            // F:\\workspace\\ESA\\grammar\\C.g:22:9: 'extern'
            {
            match("extern"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__58", 12);
        }
    }
    // $ANTLR end "T__58"

    // $ANTLR start "T__59"
    public final void mT__59() throws RecognitionException {
    traceIn("T__59", 13);
        try {
            int _type = T__59;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:23:7: ( 'static' )
            // F:\\workspace\\ESA\\grammar\\C.g:23:9: 'static'
            {
            match("static"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__59", 13);
        }
    }
    // $ANTLR end "T__59"

    // $ANTLR start "T__60"
    public final void mT__60() throws RecognitionException {
    traceIn("T__60", 14);
        try {
            int _type = T__60;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:24:7: ( 'auto' )
            // F:\\workspace\\ESA\\grammar\\C.g:24:9: 'auto'
            {
            match("auto"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__60", 14);
        }
    }
    // $ANTLR end "T__60"

    // $ANTLR start "T__61"
    public final void mT__61() throws RecognitionException {
    traceIn("T__61", 15);
        try {
            int _type = T__61;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:25:7: ( 'register' )
            // F:\\workspace\\ESA\\grammar\\C.g:25:9: 'register'
            {
            match("register"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__61", 15);
        }
    }
    // $ANTLR end "T__61"

    // $ANTLR start "T__62"
    public final void mT__62() throws RecognitionException {
    traceIn("T__62", 16);
        try {
            int _type = T__62;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:26:7: ( 'void' )
            // F:\\workspace\\ESA\\grammar\\C.g:26:9: 'void'
            {
            match("void"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__62", 16);
        }
    }
    // $ANTLR end "T__62"

    // $ANTLR start "T__63"
    public final void mT__63() throws RecognitionException {
    traceIn("T__63", 17);
        try {
            int _type = T__63;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:27:7: ( 'signed' )
            // F:\\workspace\\ESA\\grammar\\C.g:27:9: 'signed'
            {
            match("signed"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__63", 17);
        }
    }
    // $ANTLR end "T__63"

    // $ANTLR start "T__64"
    public final void mT__64() throws RecognitionException {
    traceIn("T__64", 18);
        try {
            int _type = T__64;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:28:7: ( 'unsigned' )
            // F:\\workspace\\ESA\\grammar\\C.g:28:9: 'unsigned'
            {
            match("unsigned"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__64", 18);
        }
    }
    // $ANTLR end "T__64"

    // $ANTLR start "T__65"
    public final void mT__65() throws RecognitionException {
    traceIn("T__65", 19);
        try {
            int _type = T__65;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:29:7: ( 'short' )
            // F:\\workspace\\ESA\\grammar\\C.g:29:9: 'short'
            {
            match("short"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__65", 19);
        }
    }
    // $ANTLR end "T__65"

    // $ANTLR start "T__66"
    public final void mT__66() throws RecognitionException {
    traceIn("T__66", 20);
        try {
            int _type = T__66;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:30:7: ( 'long' )
            // F:\\workspace\\ESA\\grammar\\C.g:30:9: 'long'
            {
            match("long"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__66", 20);
        }
    }
    // $ANTLR end "T__66"

    // $ANTLR start "T__67"
    public final void mT__67() throws RecognitionException {
    traceIn("T__67", 21);
        try {
            int _type = T__67;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:31:7: ( 'char' )
            // F:\\workspace\\ESA\\grammar\\C.g:31:9: 'char'
            {
            match("char"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__67", 21);
        }
    }
    // $ANTLR end "T__67"

    // $ANTLR start "T__68"
    public final void mT__68() throws RecognitionException {
    traceIn("T__68", 22);
        try {
            int _type = T__68;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:32:7: ( 'int' )
            // F:\\workspace\\ESA\\grammar\\C.g:32:9: 'int'
            {
            match("int"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__68", 22);
        }
    }
    // $ANTLR end "T__68"

    // $ANTLR start "T__69"
    public final void mT__69() throws RecognitionException {
    traceIn("T__69", 23);
        try {
            int _type = T__69;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:33:7: ( 'float' )
            // F:\\workspace\\ESA\\grammar\\C.g:33:9: 'float'
            {
            match("float"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__69", 23);
        }
    }
    // $ANTLR end "T__69"

    // $ANTLR start "T__70"
    public final void mT__70() throws RecognitionException {
    traceIn("T__70", 24);
        try {
            int _type = T__70;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:34:7: ( 'double' )
            // F:\\workspace\\ESA\\grammar\\C.g:34:9: 'double'
            {
            match("double"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__70", 24);
        }
    }
    // $ANTLR end "T__70"

    // $ANTLR start "T__71"
    public final void mT__71() throws RecognitionException {
    traceIn("T__71", 25);
        try {
            int _type = T__71;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:35:7: ( 'const' )
            // F:\\workspace\\ESA\\grammar\\C.g:35:9: 'const'
            {
            match("const"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__71", 25);
        }
    }
    // $ANTLR end "T__71"

    // $ANTLR start "T__72"
    public final void mT__72() throws RecognitionException {
    traceIn("T__72", 26);
        try {
            int _type = T__72;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:36:7: ( 'volatile' )
            // F:\\workspace\\ESA\\grammar\\C.g:36:9: 'volatile'
            {
            match("volatile"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__72", 26);
        }
    }
    // $ANTLR end "T__72"

    // $ANTLR start "T__73"
    public final void mT__73() throws RecognitionException {
    traceIn("T__73", 27);
        try {
            int _type = T__73;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:37:7: ( 'struct' )
            // F:\\workspace\\ESA\\grammar\\C.g:37:9: 'struct'
            {
            match("struct"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__73", 27);
        }
    }
    // $ANTLR end "T__73"

    // $ANTLR start "T__74"
    public final void mT__74() throws RecognitionException {
    traceIn("T__74", 28);
        try {
            int _type = T__74;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:38:7: ( 'union' )
            // F:\\workspace\\ESA\\grammar\\C.g:38:9: 'union'
            {
            match("union"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__74", 28);
        }
    }
    // $ANTLR end "T__74"

    // $ANTLR start "T__75"
    public final void mT__75() throws RecognitionException {
    traceIn("T__75", 29);
        try {
            int _type = T__75;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:39:7: ( ':' )
            // F:\\workspace\\ESA\\grammar\\C.g:39:9: ':'
            {
            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__75", 29);
        }
    }
    // $ANTLR end "T__75"

    // $ANTLR start "T__76"
    public final void mT__76() throws RecognitionException {
    traceIn("T__76", 30);
        try {
            int _type = T__76;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:40:7: ( 'enum' )
            // F:\\workspace\\ESA\\grammar\\C.g:40:9: 'enum'
            {
            match("enum"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__76", 30);
        }
    }
    // $ANTLR end "T__76"

    // $ANTLR start "T__77"
    public final void mT__77() throws RecognitionException {
    traceIn("T__77", 31);
        try {
            int _type = T__77;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:41:7: ( '?' )
            // F:\\workspace\\ESA\\grammar\\C.g:41:9: '?'
            {
            match('?'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__77", 31);
        }
    }
    // $ANTLR end "T__77"

    // $ANTLR start "T__78"
    public final void mT__78() throws RecognitionException {
    traceIn("T__78", 32);
        try {
            int _type = T__78;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:42:7: ( '==' )
            // F:\\workspace\\ESA\\grammar\\C.g:42:9: '=='
            {
            match("=="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__78", 32);
        }
    }
    // $ANTLR end "T__78"

    // $ANTLR start "T__79"
    public final void mT__79() throws RecognitionException {
    traceIn("T__79", 33);
        try {
            int _type = T__79;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:43:7: ( '!=' )
            // F:\\workspace\\ESA\\grammar\\C.g:43:9: '!='
            {
            match("!="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__79", 33);
        }
    }
    // $ANTLR end "T__79"

    // $ANTLR start "T__80"
    public final void mT__80() throws RecognitionException {
    traceIn("T__80", 34);
        try {
            int _type = T__80;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:44:7: ( '<' )
            // F:\\workspace\\ESA\\grammar\\C.g:44:9: '<'
            {
            match('<'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__80", 34);
        }
    }
    // $ANTLR end "T__80"

    // $ANTLR start "T__81"
    public final void mT__81() throws RecognitionException {
    traceIn("T__81", 35);
        try {
            int _type = T__81;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:45:7: ( '>' )
            // F:\\workspace\\ESA\\grammar\\C.g:45:9: '>'
            {
            match('>'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__81", 35);
        }
    }
    // $ANTLR end "T__81"

    // $ANTLR start "T__82"
    public final void mT__82() throws RecognitionException {
    traceIn("T__82", 36);
        try {
            int _type = T__82;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:46:7: ( '<=' )
            // F:\\workspace\\ESA\\grammar\\C.g:46:9: '<='
            {
            match("<="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__82", 36);
        }
    }
    // $ANTLR end "T__82"

    // $ANTLR start "T__83"
    public final void mT__83() throws RecognitionException {
    traceIn("T__83", 37);
        try {
            int _type = T__83;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:47:7: ( '>=' )
            // F:\\workspace\\ESA\\grammar\\C.g:47:9: '>='
            {
            match(">="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__83", 37);
        }
    }
    // $ANTLR end "T__83"

    // $ANTLR start "T__84"
    public final void mT__84() throws RecognitionException {
    traceIn("T__84", 38);
        try {
            int _type = T__84;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:48:7: ( 'sizeof' )
            // F:\\workspace\\ESA\\grammar\\C.g:48:9: 'sizeof'
            {
            match("sizeof"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__84", 38);
        }
    }
    // $ANTLR end "T__84"

    // $ANTLR start "T__85"
    public final void mT__85() throws RecognitionException {
    traceIn("T__85", 39);
        try {
            int _type = T__85;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:49:7: ( '.' )
            // F:\\workspace\\ESA\\grammar\\C.g:49:9: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__85", 39);
        }
    }
    // $ANTLR end "T__85"

    // $ANTLR start "T__86"
    public final void mT__86() throws RecognitionException {
    traceIn("T__86", 40);
        try {
            int _type = T__86;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:50:7: ( '->' )
            // F:\\workspace\\ESA\\grammar\\C.g:50:9: '->'
            {
            match("->"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__86", 40);
        }
    }
    // $ANTLR end "T__86"

    // $ANTLR start "T__87"
    public final void mT__87() throws RecognitionException {
    traceIn("T__87", 41);
        try {
            int _type = T__87;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:51:7: ( 'case' )
            // F:\\workspace\\ESA\\grammar\\C.g:51:9: 'case'
            {
            match("case"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__87", 41);
        }
    }
    // $ANTLR end "T__87"

    // $ANTLR start "T__88"
    public final void mT__88() throws RecognitionException {
    traceIn("T__88", 42);
        try {
            int _type = T__88;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:52:7: ( 'default' )
            // F:\\workspace\\ESA\\grammar\\C.g:52:9: 'default'
            {
            match("default"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__88", 42);
        }
    }
    // $ANTLR end "T__88"

    // $ANTLR start "T__89"
    public final void mT__89() throws RecognitionException {
    traceIn("T__89", 43);
        try {
            int _type = T__89;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:53:7: ( 'if' )
            // F:\\workspace\\ESA\\grammar\\C.g:53:9: 'if'
            {
            match("if"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__89", 43);
        }
    }
    // $ANTLR end "T__89"

    // $ANTLR start "T__90"
    public final void mT__90() throws RecognitionException {
    traceIn("T__90", 44);
        try {
            int _type = T__90;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:54:7: ( 'else' )
            // F:\\workspace\\ESA\\grammar\\C.g:54:9: 'else'
            {
            match("else"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__90", 44);
        }
    }
    // $ANTLR end "T__90"

    // $ANTLR start "T__91"
    public final void mT__91() throws RecognitionException {
    traceIn("T__91", 45);
        try {
            int _type = T__91;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:55:7: ( 'switch' )
            // F:\\workspace\\ESA\\grammar\\C.g:55:9: 'switch'
            {
            match("switch"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__91", 45);
        }
    }
    // $ANTLR end "T__91"

    // $ANTLR start "T__92"
    public final void mT__92() throws RecognitionException {
    traceIn("T__92", 46);
        try {
            int _type = T__92;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:56:7: ( 'while' )
            // F:\\workspace\\ESA\\grammar\\C.g:56:9: 'while'
            {
            match("while"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__92", 46);
        }
    }
    // $ANTLR end "T__92"

    // $ANTLR start "T__93"
    public final void mT__93() throws RecognitionException {
    traceIn("T__93", 47);
        try {
            int _type = T__93;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:57:7: ( 'do' )
            // F:\\workspace\\ESA\\grammar\\C.g:57:9: 'do'
            {
            match("do"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__93", 47);
        }
    }
    // $ANTLR end "T__93"

    // $ANTLR start "T__94"
    public final void mT__94() throws RecognitionException {
    traceIn("T__94", 48);
        try {
            int _type = T__94;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:58:7: ( 'for' )
            // F:\\workspace\\ESA\\grammar\\C.g:58:9: 'for'
            {
            match("for"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__94", 48);
        }
    }
    // $ANTLR end "T__94"

    // $ANTLR start "T__95"
    public final void mT__95() throws RecognitionException {
    traceIn("T__95", 49);
        try {
            int _type = T__95;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:59:7: ( 'goto' )
            // F:\\workspace\\ESA\\grammar\\C.g:59:9: 'goto'
            {
            match("goto"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__95", 49);
        }
    }
    // $ANTLR end "T__95"

    // $ANTLR start "T__96"
    public final void mT__96() throws RecognitionException {
    traceIn("T__96", 50);
        try {
            int _type = T__96;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:60:7: ( 'continue' )
            // F:\\workspace\\ESA\\grammar\\C.g:60:9: 'continue'
            {
            match("continue"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__96", 50);
        }
    }
    // $ANTLR end "T__96"

    // $ANTLR start "T__97"
    public final void mT__97() throws RecognitionException {
    traceIn("T__97", 51);
        try {
            int _type = T__97;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:61:7: ( 'break' )
            // F:\\workspace\\ESA\\grammar\\C.g:61:9: 'break'
            {
            match("break"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__97", 51);
        }
    }
    // $ANTLR end "T__97"

    // $ANTLR start "T__98"
    public final void mT__98() throws RecognitionException {
    traceIn("T__98", 52);
        try {
            int _type = T__98;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:62:7: ( 'return' )
            // F:\\workspace\\ESA\\grammar\\C.g:62:9: 'return'
            {
            match("return"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("T__98", 52);
        }
    }
    // $ANTLR end "T__98"

    // $ANTLR start "INC"
    public final void mINC() throws RecognitionException {
    traceIn("INC", 53);
        try {
            int _type = INC;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:333:5: ( '++' )
            // F:\\workspace\\ESA\\grammar\\C.g:333:7: '++'
            {
            match("++"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("INC", 53);
        }
    }
    // $ANTLR end "INC"

    // $ANTLR start "DEC"
    public final void mDEC() throws RecognitionException {
    traceIn("DEC", 54);
        try {
            int _type = DEC;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:334:5: ( '--' )
            // F:\\workspace\\ESA\\grammar\\C.g:334:7: '--'
            {
            match("--"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("DEC", 54);
        }
    }
    // $ANTLR end "DEC"

    // $ANTLR start "PLUS"
    public final void mPLUS() throws RecognitionException {
    traceIn("PLUS", 55);
        try {
            int _type = PLUS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:335:5: ( '+' )
            // F:\\workspace\\ESA\\grammar\\C.g:335:7: '+'
            {
            match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("PLUS", 55);
        }
    }
    // $ANTLR end "PLUS"

    // $ANTLR start "SURPLUS"
    public final void mSURPLUS() throws RecognitionException {
    traceIn("SURPLUS", 56);
        try {
            int _type = SURPLUS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:336:9: ( '-' )
            // F:\\workspace\\ESA\\grammar\\C.g:336:11: '-'
            {
            match('-'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("SURPLUS", 56);
        }
    }
    // $ANTLR end "SURPLUS"

    // $ANTLR start "AND"
    public final void mAND() throws RecognitionException {
    traceIn("AND", 57);
        try {
            int _type = AND;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:337:5: ( '&&' )
            // F:\\workspace\\ESA\\grammar\\C.g:337:7: '&&'
            {
            match("&&"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("AND", 57);
        }
    }
    // $ANTLR end "AND"

    // $ANTLR start "OR"
    public final void mOR() throws RecognitionException {
    traceIn("OR", 58);
        try {
            int _type = OR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:338:4: ( '||' )
            // F:\\workspace\\ESA\\grammar\\C.g:338:6: '||'
            {
            match("||"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("OR", 58);
        }
    }
    // $ANTLR end "OR"

    // $ANTLR start "NEG"
    public final void mNEG() throws RecognitionException {
    traceIn("NEG", 59);
        try {
            int _type = NEG;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:339:5: ( '!' )
            // F:\\workspace\\ESA\\grammar\\C.g:339:7: '!'
            {
            match('!'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("NEG", 59);
        }
    }
    // $ANTLR end "NEG"

    // $ANTLR start "BIT_AND"
    public final void mBIT_AND() throws RecognitionException {
    traceIn("BIT_AND", 60);
        try {
            int _type = BIT_AND;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:340:9: ( '&' )
            // F:\\workspace\\ESA\\grammar\\C.g:340:11: '&'
            {
            match('&'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("BIT_AND", 60);
        }
    }
    // $ANTLR end "BIT_AND"

    // $ANTLR start "BIT_OR"
    public final void mBIT_OR() throws RecognitionException {
    traceIn("BIT_OR", 61);
        try {
            int _type = BIT_OR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:341:8: ( '|' )
            // F:\\workspace\\ESA\\grammar\\C.g:341:10: '|'
            {
            match('|'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("BIT_OR", 61);
        }
    }
    // $ANTLR end "BIT_OR"

    // $ANTLR start "BIT_NEG"
    public final void mBIT_NEG() throws RecognitionException {
    traceIn("BIT_NEG", 62);
        try {
            int _type = BIT_NEG;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:342:9: ( '~' )
            // F:\\workspace\\ESA\\grammar\\C.g:342:11: '~'
            {
            match('~'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("BIT_NEG", 62);
        }
    }
    // $ANTLR end "BIT_NEG"

    // $ANTLR start "BIT_XOR"
    public final void mBIT_XOR() throws RecognitionException {
    traceIn("BIT_XOR", 63);
        try {
            int _type = BIT_XOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:343:9: ( '^' )
            // F:\\workspace\\ESA\\grammar\\C.g:343:11: '^'
            {
            match('^'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("BIT_XOR", 63);
        }
    }
    // $ANTLR end "BIT_XOR"

    // $ANTLR start "MUL"
    public final void mMUL() throws RecognitionException {
    traceIn("MUL", 64);
        try {
            int _type = MUL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:344:5: ( '*' )
            // F:\\workspace\\ESA\\grammar\\C.g:344:7: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("MUL", 64);
        }
    }
    // $ANTLR end "MUL"

    // $ANTLR start "DIV"
    public final void mDIV() throws RecognitionException {
    traceIn("DIV", 65);
        try {
            int _type = DIV;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:345:5: ( '/' )
            // F:\\workspace\\ESA\\grammar\\C.g:345:7: '/'
            {
            match('/'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("DIV", 65);
        }
    }
    // $ANTLR end "DIV"

    // $ANTLR start "MOD"
    public final void mMOD() throws RecognitionException {
    traceIn("MOD", 66);
        try {
            int _type = MOD;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:346:5: ( '%' )
            // F:\\workspace\\ESA\\grammar\\C.g:346:7: '%'
            {
            match('%'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("MOD", 66);
        }
    }
    // $ANTLR end "MOD"

    // $ANTLR start "BIT_SHL"
    public final void mBIT_SHL() throws RecognitionException {
    traceIn("BIT_SHL", 67);
        try {
            int _type = BIT_SHL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:347:9: ( '<<' )
            // F:\\workspace\\ESA\\grammar\\C.g:347:11: '<<'
            {
            match("<<"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("BIT_SHL", 67);
        }
    }
    // $ANTLR end "BIT_SHL"

    // $ANTLR start "BIT_SHR"
    public final void mBIT_SHR() throws RecognitionException {
    traceIn("BIT_SHR", 68);
        try {
            int _type = BIT_SHR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:348:9: ( '>>' )
            // F:\\workspace\\ESA\\grammar\\C.g:348:11: '>>'
            {
            match(">>"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("BIT_SHR", 68);
        }
    }
    // $ANTLR end "BIT_SHR"

    // $ANTLR start "CHARACTER_LITERAL"
    public final void mCHARACTER_LITERAL() throws RecognitionException {
    traceIn("CHARACTER_LITERAL", 69);
        try {
            int _type = CHARACTER_LITERAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:350:19: ( '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\'' )
            // F:\\workspace\\ESA\\grammar\\C.g:350:23: '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\''
            {
            match('\''); 
            // F:\\workspace\\ESA\\grammar\\C.g:350:28: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0=='\\') ) {
                alt1=1;
            }
            else if ( ((LA1_0>='\u0000' && LA1_0<='&')||(LA1_0>='(' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
                alt1=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:350:30: EscapeSequence
                    {
                    mEscapeSequence(); 

                    }
                    break;
                case 2 :
                    // F:\\workspace\\ESA\\grammar\\C.g:350:47: ~ ( '\\'' | '\\\\' )
                    {
                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;

            }

            match('\''); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("CHARACTER_LITERAL", 69);
        }
    }
    // $ANTLR end "CHARACTER_LITERAL"

    // $ANTLR start "STRING_LITERAL"
    public final void mSTRING_LITERAL() throws RecognitionException {
    traceIn("STRING_LITERAL", 70);
        try {
            int _type = STRING_LITERAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:351:16: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
            // F:\\workspace\\ESA\\grammar\\C.g:351:19: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
            {
            match('\"'); 
            // F:\\workspace\\ESA\\grammar\\C.g:351:23: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
            loop2:
            do {
                int alt2=3;
                int LA2_0 = input.LA(1);

                if ( (LA2_0=='\\') ) {
                    alt2=1;
                }
                else if ( ((LA2_0>='\u0000' && LA2_0<='!')||(LA2_0>='#' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
                    alt2=2;
                }


                switch (alt2) {
            	case 1 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:351:25: EscapeSequence
            	    {
            	    mEscapeSequence(); 

            	    }
            	    break;
            	case 2 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:351:42: ~ ( '\\\\' | '\"' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);

            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("STRING_LITERAL", 70);
        }
    }
    // $ANTLR end "STRING_LITERAL"

    // $ANTLR start "HEX_LITERAL"
    public final void mHEX_LITERAL() throws RecognitionException {
    traceIn("HEX_LITERAL", 71);
        try {
            int _type = HEX_LITERAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:352:13: ( '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? )
            // F:\\workspace\\ESA\\grammar\\C.g:352:15: '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )?
            {
            match('0'); 
            if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            // F:\\workspace\\ESA\\grammar\\C.g:352:29: ( HexDigit )+
            int cnt3=0;
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='F')||(LA3_0>='a' && LA3_0<='f')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:352:29: HexDigit
            	    {
            	    mHexDigit(); 

            	    }
            	    break;

            	default :
            	    if ( cnt3 >= 1 ) break loop3;
                        EarlyExitException eee =
                            new EarlyExitException(3, input);
                        throw eee;
                }
                cnt3++;
            } while (true);

            // F:\\workspace\\ESA\\grammar\\C.g:352:39: ( IntegerTypeSuffix )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0=='L'||LA4_0=='U'||LA4_0=='l'||LA4_0=='u') ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:352:39: IntegerTypeSuffix
                    {
                    mIntegerTypeSuffix(); 

                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("HEX_LITERAL", 71);
        }
    }
    // $ANTLR end "HEX_LITERAL"

    // $ANTLR start "DECIMAL_LITERAL"
    public final void mDECIMAL_LITERAL() throws RecognitionException {
    traceIn("DECIMAL_LITERAL", 72);
        try {
            int _type = DECIMAL_LITERAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:353:17: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )? )
            // F:\\workspace\\ESA\\grammar\\C.g:353:19: ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )?
            {
            // F:\\workspace\\ESA\\grammar\\C.g:353:19: ( '0' | '1' .. '9' ( '0' .. '9' )* )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0=='0') ) {
                alt6=1;
            }
            else if ( ((LA6_0>='1' && LA6_0<='9')) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:353:20: '0'
                    {
                    match('0'); 

                    }
                    break;
                case 2 :
                    // F:\\workspace\\ESA\\grammar\\C.g:353:26: '1' .. '9' ( '0' .. '9' )*
                    {
                    matchRange('1','9'); 
                    // F:\\workspace\\ESA\\grammar\\C.g:353:35: ( '0' .. '9' )*
                    loop5:
                    do {
                        int alt5=2;
                        int LA5_0 = input.LA(1);

                        if ( ((LA5_0>='0' && LA5_0<='9')) ) {
                            alt5=1;
                        }


                        switch (alt5) {
                    	case 1 :
                    	    // F:\\workspace\\ESA\\grammar\\C.g:353:35: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    break loop5;
                        }
                    } while (true);


                    }
                    break;

            }

            // F:\\workspace\\ESA\\grammar\\C.g:353:46: ( IntegerTypeSuffix )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0=='L'||LA7_0=='U'||LA7_0=='l'||LA7_0=='u') ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:353:46: IntegerTypeSuffix
                    {
                    mIntegerTypeSuffix(); 

                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("DECIMAL_LITERAL", 72);
        }
    }
    // $ANTLR end "DECIMAL_LITERAL"

    // $ANTLR start "OCTAL_LITERAL"
    public final void mOCTAL_LITERAL() throws RecognitionException {
    traceIn("OCTAL_LITERAL", 73);
        try {
            int _type = OCTAL_LITERAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:354:15: ( '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? )
            // F:\\workspace\\ESA\\grammar\\C.g:354:17: '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )?
            {
            match('0'); 
            // F:\\workspace\\ESA\\grammar\\C.g:354:21: ( '0' .. '7' )+
            int cnt8=0;
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( ((LA8_0>='0' && LA8_0<='7')) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:354:22: '0' .. '7'
            	    {
            	    matchRange('0','7'); 

            	    }
            	    break;

            	default :
            	    if ( cnt8 >= 1 ) break loop8;
                        EarlyExitException eee =
                            new EarlyExitException(8, input);
                        throw eee;
                }
                cnt8++;
            } while (true);

            // F:\\workspace\\ESA\\grammar\\C.g:354:33: ( IntegerTypeSuffix )?
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0=='L'||LA9_0=='U'||LA9_0=='l'||LA9_0=='u') ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:354:33: IntegerTypeSuffix
                    {
                    mIntegerTypeSuffix(); 

                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("OCTAL_LITERAL", 73);
        }
    }
    // $ANTLR end "OCTAL_LITERAL"

    // $ANTLR start "FLOATING_POINT_LITERAL"
    public final void mFLOATING_POINT_LITERAL() throws RecognitionException {
    traceIn("FLOATING_POINT_LITERAL", 74);
        try {
            int _type = FLOATING_POINT_LITERAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:356:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ FloatTypeSuffix )
            int alt20=4;
            alt20 = dfa20.predict(input);
            switch (alt20) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:356:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )?
                    {
                    // F:\\workspace\\ESA\\grammar\\C.g:356:9: ( '0' .. '9' )+
                    int cnt10=0;
                    loop10:
                    do {
                        int alt10=2;
                        int LA10_0 = input.LA(1);

                        if ( ((LA10_0>='0' && LA10_0<='9')) ) {
                            alt10=1;
                        }


                        switch (alt10) {
                    	case 1 :
                    	    // F:\\workspace\\ESA\\grammar\\C.g:356:10: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt10 >= 1 ) break loop10;
                                EarlyExitException eee =
                                    new EarlyExitException(10, input);
                                throw eee;
                        }
                        cnt10++;
                    } while (true);

                    match('.'); 
                    // F:\\workspace\\ESA\\grammar\\C.g:356:25: ( '0' .. '9' )*
                    loop11:
                    do {
                        int alt11=2;
                        int LA11_0 = input.LA(1);

                        if ( ((LA11_0>='0' && LA11_0<='9')) ) {
                            alt11=1;
                        }


                        switch (alt11) {
                    	case 1 :
                    	    // F:\\workspace\\ESA\\grammar\\C.g:356:26: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    break loop11;
                        }
                    } while (true);

                    // F:\\workspace\\ESA\\grammar\\C.g:356:37: ( Exponent )?
                    int alt12=2;
                    int LA12_0 = input.LA(1);

                    if ( (LA12_0=='E'||LA12_0=='e') ) {
                        alt12=1;
                    }
                    switch (alt12) {
                        case 1 :
                            // F:\\workspace\\ESA\\grammar\\C.g:356:37: Exponent
                            {
                            mExponent(); 

                            }
                            break;

                    }

                    // F:\\workspace\\ESA\\grammar\\C.g:356:47: ( FloatTypeSuffix )?
                    int alt13=2;
                    int LA13_0 = input.LA(1);

                    if ( (LA13_0=='D'||LA13_0=='F'||LA13_0=='d'||LA13_0=='f') ) {
                        alt13=1;
                    }
                    switch (alt13) {
                        case 1 :
                            // F:\\workspace\\ESA\\grammar\\C.g:356:47: FloatTypeSuffix
                            {
                            mFloatTypeSuffix(); 

                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // F:\\workspace\\ESA\\grammar\\C.g:357:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )?
                    {
                    match('.'); 
                    // F:\\workspace\\ESA\\grammar\\C.g:357:13: ( '0' .. '9' )+
                    int cnt14=0;
                    loop14:
                    do {
                        int alt14=2;
                        int LA14_0 = input.LA(1);

                        if ( ((LA14_0>='0' && LA14_0<='9')) ) {
                            alt14=1;
                        }


                        switch (alt14) {
                    	case 1 :
                    	    // F:\\workspace\\ESA\\grammar\\C.g:357:14: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt14 >= 1 ) break loop14;
                                EarlyExitException eee =
                                    new EarlyExitException(14, input);
                                throw eee;
                        }
                        cnt14++;
                    } while (true);

                    // F:\\workspace\\ESA\\grammar\\C.g:357:25: ( Exponent )?
                    int alt15=2;
                    int LA15_0 = input.LA(1);

                    if ( (LA15_0=='E'||LA15_0=='e') ) {
                        alt15=1;
                    }
                    switch (alt15) {
                        case 1 :
                            // F:\\workspace\\ESA\\grammar\\C.g:357:25: Exponent
                            {
                            mExponent(); 

                            }
                            break;

                    }

                    // F:\\workspace\\ESA\\grammar\\C.g:357:35: ( FloatTypeSuffix )?
                    int alt16=2;
                    int LA16_0 = input.LA(1);

                    if ( (LA16_0=='D'||LA16_0=='F'||LA16_0=='d'||LA16_0=='f') ) {
                        alt16=1;
                    }
                    switch (alt16) {
                        case 1 :
                            // F:\\workspace\\ESA\\grammar\\C.g:357:35: FloatTypeSuffix
                            {
                            mFloatTypeSuffix(); 

                            }
                            break;

                    }


                    }
                    break;
                case 3 :
                    // F:\\workspace\\ESA\\grammar\\C.g:358:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )?
                    {
                    // F:\\workspace\\ESA\\grammar\\C.g:358:9: ( '0' .. '9' )+
                    int cnt17=0;
                    loop17:
                    do {
                        int alt17=2;
                        int LA17_0 = input.LA(1);

                        if ( ((LA17_0>='0' && LA17_0<='9')) ) {
                            alt17=1;
                        }


                        switch (alt17) {
                    	case 1 :
                    	    // F:\\workspace\\ESA\\grammar\\C.g:358:10: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt17 >= 1 ) break loop17;
                                EarlyExitException eee =
                                    new EarlyExitException(17, input);
                                throw eee;
                        }
                        cnt17++;
                    } while (true);

                    mExponent(); 
                    // F:\\workspace\\ESA\\grammar\\C.g:358:30: ( FloatTypeSuffix )?
                    int alt18=2;
                    int LA18_0 = input.LA(1);

                    if ( (LA18_0=='D'||LA18_0=='F'||LA18_0=='d'||LA18_0=='f') ) {
                        alt18=1;
                    }
                    switch (alt18) {
                        case 1 :
                            // F:\\workspace\\ESA\\grammar\\C.g:358:30: FloatTypeSuffix
                            {
                            mFloatTypeSuffix(); 

                            }
                            break;

                    }


                    }
                    break;
                case 4 :
                    // F:\\workspace\\ESA\\grammar\\C.g:359:9: ( '0' .. '9' )+ FloatTypeSuffix
                    {
                    // F:\\workspace\\ESA\\grammar\\C.g:359:9: ( '0' .. '9' )+
                    int cnt19=0;
                    loop19:
                    do {
                        int alt19=2;
                        int LA19_0 = input.LA(1);

                        if ( ((LA19_0>='0' && LA19_0<='9')) ) {
                            alt19=1;
                        }


                        switch (alt19) {
                    	case 1 :
                    	    // F:\\workspace\\ESA\\grammar\\C.g:359:10: '0' .. '9'
                    	    {
                    	    matchRange('0','9'); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt19 >= 1 ) break loop19;
                                EarlyExitException eee =
                                    new EarlyExitException(19, input);
                                throw eee;
                        }
                        cnt19++;
                    } while (true);

                    mFloatTypeSuffix(); 

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("FLOATING_POINT_LITERAL", 74);
        }
    }
    // $ANTLR end "FLOATING_POINT_LITERAL"

    // $ANTLR start "IntegerTypeSuffix"
    public final void mIntegerTypeSuffix() throws RecognitionException {
    traceIn("IntegerTypeSuffix", 75);
        try {
            // F:\\workspace\\ESA\\grammar\\C.g:363:2: ( ( 'u' | 'U' )? ( 'l' | 'L' ) | ( 'u' | 'U' ) )
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0=='U'||LA22_0=='u') ) {
                int LA22_1 = input.LA(2);

                if ( (LA22_1=='L'||LA22_1=='l') ) {
                    alt22=1;
                }
                else {
                    alt22=2;}
            }
            else if ( (LA22_0=='L'||LA22_0=='l') ) {
                alt22=1;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 22, 0, input);

                throw nvae;
            }
            switch (alt22) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:363:4: ( 'u' | 'U' )? ( 'l' | 'L' )
                    {
                    // F:\\workspace\\ESA\\grammar\\C.g:363:4: ( 'u' | 'U' )?
                    int alt21=2;
                    int LA21_0 = input.LA(1);

                    if ( (LA21_0=='U'||LA21_0=='u') ) {
                        alt21=1;
                    }
                    switch (alt21) {
                        case 1 :
                            // F:\\workspace\\ESA\\grammar\\C.g:
                            {
                            if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
                                input.consume();

                            }
                            else {
                                MismatchedSetException mse = new MismatchedSetException(null,input);
                                recover(mse);
                                throw mse;}


                            }
                            break;

                    }

                    if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;
                case 2 :
                    // F:\\workspace\\ESA\\grammar\\C.g:364:4: ( 'u' | 'U' )
                    {
                    if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;

            }
        }
        finally {
    traceOut("IntegerTypeSuffix", 75);
        }
    }
    // $ANTLR end "IntegerTypeSuffix"

    // $ANTLR start "Exponent"
    public final void mExponent() throws RecognitionException {
    traceIn("Exponent", 76);
        try {
            // F:\\workspace\\ESA\\grammar\\C.g:366:19: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
            // F:\\workspace\\ESA\\grammar\\C.g:366:21: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
            {
            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            // F:\\workspace\\ESA\\grammar\\C.g:366:31: ( '+' | '-' )?
            int alt23=2;
            int LA23_0 = input.LA(1);

            if ( (LA23_0=='+'||LA23_0=='-') ) {
                alt23=1;
            }
            switch (alt23) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:
                    {
                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;

            }

            // F:\\workspace\\ESA\\grammar\\C.g:366:42: ( '0' .. '9' )+
            int cnt24=0;
            loop24:
            do {
                int alt24=2;
                int LA24_0 = input.LA(1);

                if ( ((LA24_0>='0' && LA24_0<='9')) ) {
                    alt24=1;
                }


                switch (alt24) {
            	case 1 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:366:43: '0' .. '9'
            	    {
            	    matchRange('0','9'); 

            	    }
            	    break;

            	default :
            	    if ( cnt24 >= 1 ) break loop24;
                        EarlyExitException eee =
                            new EarlyExitException(24, input);
                        throw eee;
                }
                cnt24++;
            } while (true);


            }

        }
        finally {
    traceOut("Exponent", 76);
        }
    }
    // $ANTLR end "Exponent"

    // $ANTLR start "FloatTypeSuffix"
    public final void mFloatTypeSuffix() throws RecognitionException {
    traceIn("FloatTypeSuffix", 77);
        try {
            // F:\\workspace\\ESA\\grammar\\C.g:367:26: ( ( 'f' | 'F' | 'd' | 'D' ) )
            // F:\\workspace\\ESA\\grammar\\C.g:367:28: ( 'f' | 'F' | 'd' | 'D' )
            {
            if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
    traceOut("FloatTypeSuffix", 77);
        }
    }
    // $ANTLR end "FloatTypeSuffix"

    // $ANTLR start "HexDigit"
    public final void mHexDigit() throws RecognitionException {
    traceIn("HexDigit", 78);
        try {
            // F:\\workspace\\ESA\\grammar\\C.g:368:19: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
            // F:\\workspace\\ESA\\grammar\\C.g:368:21: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
            {
            if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
    traceOut("HexDigit", 78);
        }
    }
    // $ANTLR end "HexDigit"

    // $ANTLR start "OctalEscape"
    public final void mOctalEscape() throws RecognitionException {
    traceIn("OctalEscape", 79);
        try {
            // F:\\workspace\\ESA\\grammar\\C.g:370:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
            int alt25=3;
            int LA25_0 = input.LA(1);

            if ( (LA25_0=='\\') ) {
                int LA25_1 = input.LA(2);

                if ( ((LA25_1>='0' && LA25_1<='3')) ) {
                    int LA25_2 = input.LA(3);

                    if ( ((LA25_2>='0' && LA25_2<='7')) ) {
                        int LA25_4 = input.LA(4);

                        if ( ((LA25_4>='0' && LA25_4<='7')) ) {
                            alt25=1;
                        }
                        else {
                            alt25=2;}
                    }
                    else {
                        alt25=3;}
                }
                else if ( ((LA25_1>='4' && LA25_1<='7')) ) {
                    int LA25_3 = input.LA(3);

                    if ( ((LA25_3>='0' && LA25_3<='7')) ) {
                        alt25=2;
                    }
                    else {
                        alt25=3;}
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 25, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 25, 0, input);

                throw nvae;
            }
            switch (alt25) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:370:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                    {
                    match('\\'); 
                    // F:\\workspace\\ESA\\grammar\\C.g:370:14: ( '0' .. '3' )
                    // F:\\workspace\\ESA\\grammar\\C.g:370:15: '0' .. '3'
                    {
                    matchRange('0','3'); 

                    }

                    // F:\\workspace\\ESA\\grammar\\C.g:370:25: ( '0' .. '7' )
                    // F:\\workspace\\ESA\\grammar\\C.g:370:26: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }

                    // F:\\workspace\\ESA\\grammar\\C.g:370:36: ( '0' .. '7' )
                    // F:\\workspace\\ESA\\grammar\\C.g:370:37: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }


                    }
                    break;
                case 2 :
                    // F:\\workspace\\ESA\\grammar\\C.g:371:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                    {
                    match('\\'); 
                    // F:\\workspace\\ESA\\grammar\\C.g:371:14: ( '0' .. '7' )
                    // F:\\workspace\\ESA\\grammar\\C.g:371:15: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }

                    // F:\\workspace\\ESA\\grammar\\C.g:371:25: ( '0' .. '7' )
                    // F:\\workspace\\ESA\\grammar\\C.g:371:26: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }


                    }
                    break;
                case 3 :
                    // F:\\workspace\\ESA\\grammar\\C.g:372:9: '\\\\' ( '0' .. '7' )
                    {
                    match('\\'); 
                    // F:\\workspace\\ESA\\grammar\\C.g:372:14: ( '0' .. '7' )
                    // F:\\workspace\\ESA\\grammar\\C.g:372:15: '0' .. '7'
                    {
                    matchRange('0','7'); 

                    }


                    }
                    break;

            }
        }
        finally {
    traceOut("OctalEscape", 79);
        }
    }
    // $ANTLR end "OctalEscape"

    // $ANTLR start "UnicodeEscape"
    public final void mUnicodeEscape() throws RecognitionException {
    traceIn("UnicodeEscape", 80);
        try {
            // F:\\workspace\\ESA\\grammar\\C.g:375:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
            // F:\\workspace\\ESA\\grammar\\C.g:375:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
            {
            match('\\'); 
            match('u'); 
            mHexDigit(); 
            mHexDigit(); 
            mHexDigit(); 
            mHexDigit(); 

            }

        }
        finally {
    traceOut("UnicodeEscape", 80);
        }
    }
    // $ANTLR end "UnicodeEscape"

    // $ANTLR start "EscapeSequence"
    public final void mEscapeSequence() throws RecognitionException {
    traceIn("EscapeSequence", 81);
        try {
            // F:\\workspace\\ESA\\grammar\\C.g:378:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | OctalEscape )
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0=='\\') ) {
                int LA26_1 = input.LA(2);

                if ( (LA26_1=='\"'||LA26_1=='\''||LA26_1=='\\'||LA26_1=='b'||LA26_1=='f'||LA26_1=='n'||LA26_1=='r'||LA26_1=='t') ) {
                    alt26=1;
                }
                else if ( ((LA26_1>='0' && LA26_1<='7')) ) {
                    alt26=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 26, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 26, 0, input);

                throw nvae;
            }
            switch (alt26) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:378:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
                    {
                    match('\\'); 
                    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
                        input.consume();

                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}


                    }
                    break;
                case 2 :
                    // F:\\workspace\\ESA\\grammar\\C.g:379:9: OctalEscape
                    {
                    mOctalEscape(); 

                    }
                    break;

            }
        }
        finally {
    traceOut("EscapeSequence", 81);
        }
    }
    // $ANTLR end "EscapeSequence"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
    traceIn("WS", 82);
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:382:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
            // F:\\workspace\\ESA\\grammar\\C.g:382:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
            {
            if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("WS", 82);
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "COMMENT"
    public final void mCOMMENT() throws RecognitionException {
    traceIn("COMMENT", 83);
        try {
            int _type = COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:383:9: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // F:\\workspace\\ESA\\grammar\\C.g:383:13: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 

            // F:\\workspace\\ESA\\grammar\\C.g:383:18: ( options {greedy=false; } : . )*
            loop27:
            do {
                int alt27=2;
                int LA27_0 = input.LA(1);

                if ( (LA27_0=='*') ) {
                    int LA27_1 = input.LA(2);

                    if ( (LA27_1=='/') ) {
                        alt27=2;
                    }
                    else if ( ((LA27_1>='\u0000' && LA27_1<='.')||(LA27_1>='0' && LA27_1<='\uFFFF')) ) {
                        alt27=1;
                    }


                }
                else if ( ((LA27_0>='\u0000' && LA27_0<=')')||(LA27_0>='+' && LA27_0<='\uFFFF')) ) {
                    alt27=1;
                }


                switch (alt27) {
            	case 1 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:383:46: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop27;
                }
            } while (true);

            match("*/"); 

            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("COMMENT", 83);
        }
    }
    // $ANTLR end "COMMENT"

    // $ANTLR start "LINE_COMMENT"
    public final void mLINE_COMMENT() throws RecognitionException {
    traceIn("LINE_COMMENT", 84);
        try {
            int _type = LINE_COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:384:14: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
            // F:\\workspace\\ESA\\grammar\\C.g:384:16: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
            {
            match("//"); 

            // F:\\workspace\\ESA\\grammar\\C.g:384:21: (~ ( '\\n' | '\\r' ) )*
            loop28:
            do {
                int alt28=2;
                int LA28_0 = input.LA(1);

                if ( ((LA28_0>='\u0000' && LA28_0<='\t')||(LA28_0>='\u000B' && LA28_0<='\f')||(LA28_0>='\u000E' && LA28_0<='\uFFFF')) ) {
                    alt28=1;
                }


                switch (alt28) {
            	case 1 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:384:21: ~ ( '\\n' | '\\r' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop28;
                }
            } while (true);

            // F:\\workspace\\ESA\\grammar\\C.g:384:35: ( '\\r' )?
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0=='\r') ) {
                alt29=1;
            }
            switch (alt29) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:384:35: '\\r'
                    {
                    match('\r'); 

                    }
                    break;

            }

            match('\n'); 
            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("LINE_COMMENT", 84);
        }
    }
    // $ANTLR end "LINE_COMMENT"

    // $ANTLR start "LINE_COMMAND"
    public final void mLINE_COMMAND() throws RecognitionException {
    traceIn("LINE_COMMAND", 85);
        try {
            int _type = LINE_COMMAND;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:386:14: ( '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
            // F:\\workspace\\ESA\\grammar\\C.g:386:16: '#' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
            {
            match('#'); 
            // F:\\workspace\\ESA\\grammar\\C.g:386:20: (~ ( '\\n' | '\\r' ) )*
            loop30:
            do {
                int alt30=2;
                int LA30_0 = input.LA(1);

                if ( ((LA30_0>='\u0000' && LA30_0<='\t')||(LA30_0>='\u000B' && LA30_0<='\f')||(LA30_0>='\u000E' && LA30_0<='\uFFFF')) ) {
                    alt30=1;
                }


                switch (alt30) {
            	case 1 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:386:20: ~ ( '\\n' | '\\r' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop30;
                }
            } while (true);

            // F:\\workspace\\ESA\\grammar\\C.g:386:34: ( '\\r' )?
            int alt31=2;
            int LA31_0 = input.LA(1);

            if ( (LA31_0=='\r') ) {
                alt31=1;
            }
            switch (alt31) {
                case 1 :
                    // F:\\workspace\\ESA\\grammar\\C.g:386:34: '\\r'
                    {
                    match('\r'); 

                    }
                    break;

            }

            match('\n'); 
            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("LINE_COMMAND", 85);
        }
    }
    // $ANTLR end "LINE_COMMAND"

    // $ANTLR start "IDENTIFIER"
    public final void mIDENTIFIER() throws RecognitionException {
    traceIn("IDENTIFIER", 86);
        try {
            int _type = IDENTIFIER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // F:\\workspace\\ESA\\grammar\\C.g:387:12: ( LETTER ( LETTER | '0' .. '9' )* )
            // F:\\workspace\\ESA\\grammar\\C.g:387:14: LETTER ( LETTER | '0' .. '9' )*
            {
            mLETTER(); 
            // F:\\workspace\\ESA\\grammar\\C.g:387:21: ( LETTER | '0' .. '9' )*
            loop32:
            do {
                int alt32=2;
                int LA32_0 = input.LA(1);

                if ( (LA32_0=='$'||(LA32_0>='0' && LA32_0<='9')||(LA32_0>='A' && LA32_0<='Z')||LA32_0=='_'||(LA32_0>='a' && LA32_0<='z')) ) {
                    alt32=1;
                }


                switch (alt32) {
            	case 1 :
            	    // F:\\workspace\\ESA\\grammar\\C.g:
            	    {
            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop32;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
    traceOut("IDENTIFIER", 86);
        }
    }
    // $ANTLR end "IDENTIFIER"

    // $ANTLR start "LETTER"
    public final void mLETTER() throws RecognitionException {
    traceIn("LETTER", 87);
        try {
            // F:\\workspace\\ESA\\grammar\\C.g:388:17: ( '$' | 'A' .. 'Z' | 'a' .. 'z' | '_' )
            // F:\\workspace\\ESA\\grammar\\C.g:
            {
            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
    traceOut("LETTER", 87);
        }
    }
    // $ANTLR end "LETTER"

    public void mTokens() throws RecognitionException {
        // F:\\workspace\\ESA\\grammar\\C.g:1:8: ( T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | INC | DEC | PLUS | SURPLUS | AND | OR | NEG | BIT_AND | BIT_OR | BIT_NEG | BIT_XOR | MUL | DIV | MOD | BIT_SHL | BIT_SHR | CHARACTER_LITERAL | STRING_LITERAL | HEX_LITERAL | DECIMAL_LITERAL | OCTAL_LITERAL | FLOATING_POINT_LITERAL | WS | COMMENT | LINE_COMMENT | LINE_COMMAND | IDENTIFIER )
        int alt33=79;
        alt33 = dfa33.predict(input);
        switch (alt33) {
            case 1 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:10: T__47
                {
                mT__47(); 

                }
                break;
            case 2 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:16: T__48
                {
                mT__48(); 

                }
                break;
            case 3 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:22: T__49
                {
                mT__49(); 

                }
                break;
            case 4 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:28: T__50
                {
                mT__50(); 

                }
                break;
            case 5 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:34: T__51
                {
                mT__51(); 

                }
                break;
            case 6 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:40: T__52
                {
                mT__52(); 

                }
                break;
            case 7 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:46: T__53
                {
                mT__53(); 

                }
                break;
            case 8 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:52: T__54
                {
                mT__54(); 

                }
                break;
            case 9 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:58: T__55
                {
                mT__55(); 

                }
                break;
            case 10 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:64: T__56
                {
                mT__56(); 

                }
                break;
            case 11 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:70: T__57
                {
                mT__57(); 

                }
                break;
            case 12 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:76: T__58
                {
                mT__58(); 

                }
                break;
            case 13 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:82: T__59
                {
                mT__59(); 

                }
                break;
            case 14 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:88: T__60
                {
                mT__60(); 

                }
                break;
            case 15 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:94: T__61
                {
                mT__61(); 

                }
                break;
            case 16 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:100: T__62
                {
                mT__62(); 

                }
                break;
            case 17 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:106: T__63
                {
                mT__63(); 

                }
                break;
            case 18 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:112: T__64
                {
                mT__64(); 

                }
                break;
            case 19 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:118: T__65
                {
                mT__65(); 

                }
                break;
            case 20 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:124: T__66
                {
                mT__66(); 

                }
                break;
            case 21 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:130: T__67
                {
                mT__67(); 

                }
                break;
            case 22 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:136: T__68
                {
                mT__68(); 

                }
                break;
            case 23 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:142: T__69
                {
                mT__69(); 

                }
                break;
            case 24 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:148: T__70
                {
                mT__70(); 

                }
                break;
            case 25 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:154: T__71
                {
                mT__71(); 

                }
                break;
            case 26 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:160: T__72
                {
                mT__72(); 

                }
                break;
            case 27 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:166: T__73
                {
                mT__73(); 

                }
                break;
            case 28 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:172: T__74
                {
                mT__74(); 

                }
                break;
            case 29 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:178: T__75
                {
                mT__75(); 

                }
                break;
            case 30 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:184: T__76
                {
                mT__76(); 

                }
                break;
            case 31 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:190: T__77
                {
                mT__77(); 

                }
                break;
            case 32 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:196: T__78
                {
                mT__78(); 

                }
                break;
            case 33 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:202: T__79
                {
                mT__79(); 

                }
                break;
            case 34 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:208: T__80
                {
                mT__80(); 

                }
                break;
            case 35 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:214: T__81
                {
                mT__81(); 

                }
                break;
            case 36 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:220: T__82
                {
                mT__82(); 

                }
                break;
            case 37 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:226: T__83
                {
                mT__83(); 

                }
                break;
            case 38 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:232: T__84
                {
                mT__84(); 

                }
                break;
            case 39 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:238: T__85
                {
                mT__85(); 

                }
                break;
            case 40 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:244: T__86
                {
                mT__86(); 

                }
                break;
            case 41 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:250: T__87
                {
                mT__87(); 

                }
                break;
            case 42 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:256: T__88
                {
                mT__88(); 

                }
                break;
            case 43 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:262: T__89
                {
                mT__89(); 

                }
                break;
            case 44 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:268: T__90
                {
                mT__90(); 

                }
                break;
            case 45 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:274: T__91
                {
                mT__91(); 

                }
                break;
            case 46 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:280: T__92
                {
                mT__92(); 

                }
                break;
            case 47 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:286: T__93
                {
                mT__93(); 

                }
                break;
            case 48 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:292: T__94
                {
                mT__94(); 

                }
                break;
            case 49 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:298: T__95
                {
                mT__95(); 

                }
                break;
            case 50 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:304: T__96
                {
                mT__96(); 

                }
                break;
            case 51 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:310: T__97
                {
                mT__97(); 

                }
                break;
            case 52 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:316: T__98
                {
                mT__98(); 

                }
                break;
            case 53 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:322: INC
                {
                mINC(); 

                }
                break;
            case 54 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:326: DEC
                {
                mDEC(); 

                }
                break;
            case 55 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:330: PLUS
                {
                mPLUS(); 

                }
                break;
            case 56 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:335: SURPLUS
                {
                mSURPLUS(); 

                }
                break;
            case 57 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:343: AND
                {
                mAND(); 

                }
                break;
            case 58 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:347: OR
                {
                mOR(); 

                }
                break;
            case 59 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:350: NEG
                {
                mNEG(); 

                }
                break;
            case 60 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:354: BIT_AND
                {
                mBIT_AND(); 

                }
                break;
            case 61 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:362: BIT_OR
                {
                mBIT_OR(); 

                }
                break;
            case 62 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:369: BIT_NEG
                {
                mBIT_NEG(); 

                }
                break;
            case 63 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:377: BIT_XOR
                {
                mBIT_XOR(); 

                }
                break;
            case 64 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:385: MUL
                {
                mMUL(); 

                }
                break;
            case 65 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:389: DIV
                {
                mDIV(); 

                }
                break;
            case 66 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:393: MOD
                {
                mMOD(); 

                }
                break;
            case 67 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:397: BIT_SHL
                {
                mBIT_SHL(); 

                }
                break;
            case 68 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:405: BIT_SHR
                {
                mBIT_SHR(); 

                }
                break;
            case 69 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:413: CHARACTER_LITERAL
                {
                mCHARACTER_LITERAL(); 

                }
                break;
            case 70 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:431: STRING_LITERAL
                {
                mSTRING_LITERAL(); 

                }
                break;
            case 71 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:446: HEX_LITERAL
                {
                mHEX_LITERAL(); 

                }
                break;
            case 72 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:458: DECIMAL_LITERAL
                {
                mDECIMAL_LITERAL(); 

                }
                break;
            case 73 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:474: OCTAL_LITERAL
                {
                mOCTAL_LITERAL(); 

                }
                break;
            case 74 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:488: FLOATING_POINT_LITERAL
                {
                mFLOATING_POINT_LITERAL(); 

                }
                break;
            case 75 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:511: WS
                {
                mWS(); 

                }
                break;
            case 76 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:514: COMMENT
                {
                mCOMMENT(); 

                }
                break;
            case 77 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:522: LINE_COMMENT
                {
                mLINE_COMMENT(); 

                }
                break;
            case 78 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:535: LINE_COMMAND
                {
                mLINE_COMMAND(); 

                }
                break;
            case 79 :
                // F:\\workspace\\ESA\\grammar\\C.g:1:548: IDENTIFIER
                {
                mIDENTIFIER(); 

                }
                break;

        }

    }


    protected DFA20 dfa20 = new DFA20(this);
    protected DFA33 dfa33 = new DFA33(this);
    static final String DFA20_eotS =
        "\6\uffff";
    static final String DFA20_eofS =
        "\6\uffff";
    static final String DFA20_minS =
        "\2\56\4\uffff";
    static final String DFA20_maxS =
        "\1\71\1\146\4\uffff";
    static final String DFA20_acceptS =
        "\2\uffff\1\2\1\3\1\4\1\1";
    static final String DFA20_specialS =
        "\6\uffff}>";
    static final String[] DFA20_transitionS = {
            "\1\2\1\uffff\12\1",
            "\1\5\1\uffff\12\1\12\uffff\1\4\1\3\1\4\35\uffff\1\4\1\3\1"+
            "\4",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA20_eot = DFA.unpackEncodedString(DFA20_eotS);
    static final short[] DFA20_eof = DFA.unpackEncodedString(DFA20_eofS);
    static final char[] DFA20_min = DFA.unpackEncodedStringToUnsignedChars(DFA20_minS);
    static final char[] DFA20_max = DFA.unpackEncodedStringToUnsignedChars(DFA20_maxS);
    static final short[] DFA20_accept = DFA.unpackEncodedString(DFA20_acceptS);
    static final short[] DFA20_special = DFA.unpackEncodedString(DFA20_specialS);
    static final short[][] DFA20_transition;

    static {
        int numStates = DFA20_transitionS.length;
        DFA20_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA20_transition[i] = DFA.unpackEncodedString(DFA20_transitionS[i]);
        }
    }

    class DFA20 extends DFA {

        public DFA20(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 20;
            this.eot = DFA20_eot;
            this.eof = DFA20_eof;
            this.min = DFA20_min;
            this.max = DFA20_max;
            this.accept = DFA20_accept;
            this.special = DFA20_special;
            this.transition = DFA20_transition;
        }
        public String getDescription() {
            return "355:1: FLOATING_POINT_LITERAL : ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ FloatTypeSuffix );";
        }
    }
    static final String DFA33_eotS =
        "\3\uffff\1\56\2\uffff\1\61\4\uffff\1\63\13\56\2\uffff\1\113\1\116"+
        "\1\121\1\124\3\56\1\131\1\133\1\135\3\uffff\1\140\3\uffff\2\143"+
        "\3\uffff\1\56\5\uffff\20\56\1\173\2\56\1\177\1\56\13\uffff\3\56"+
        "\12\uffff\1\u0084\1\uffff\1\143\25\56\1\u009b\1\uffff\1\56\1\u009d"+
        "\1\56\1\uffff\4\56\1\uffff\2\56\1\u00a5\1\u00a6\6\56\1\u00ad\2\56"+
        "\1\u00b0\3\56\1\u00b4\1\u00b5\2\56\1\u00b8\1\uffff\1\56\1\uffff"+
        "\3\56\1\u00bd\3\56\2\uffff\4\56\1\u00c5\1\56\1\uffff\2\56\1\uffff"+
        "\2\56\1\u00cb\2\uffff\1\u00cc\1\56\1\uffff\1\u00ce\2\56\1\u00d1"+
        "\1\uffff\1\u00d2\1\56\1\u00d4\1\u00d5\1\u00d6\1\u00d7\1\u00d8\1"+
        "\uffff\1\u00d9\1\56\1\u00db\2\56\2\uffff\1\56\1\uffff\1\u00df\1"+
        "\56\2\uffff\1\u00e1\6\uffff\1\56\1\uffff\3\56\1\uffff\1\u00e6\1"+
        "\uffff\1\u00e7\1\u00e8\1\u00e9\1\u00ea\5\uffff";
    static final String DFA33_eofS =
        "\u00eb\uffff";
    static final String DFA33_minS =
        "\1\11\2\uffff\1\171\2\uffff\1\75\4\uffff\1\56\1\154\1\150\1\165"+
        "\1\145\1\157\1\156\1\157\1\141\1\146\1\154\1\145\2\uffff\1\75\1"+
        "\74\1\75\1\55\1\150\1\157\1\162\1\53\1\46\1\174\3\uffff\1\52\3\uffff"+
        "\2\56\3\uffff\1\160\5\uffff\1\164\1\165\1\163\1\141\1\147\1\157"+
        "\1\151\1\164\1\147\2\151\1\156\1\141\1\156\1\163\1\164\1\44\1\157"+
        "\1\162\1\44\1\146\13\uffff\1\151\1\164\1\145\12\uffff\1\56\1\uffff"+
        "\1\56\2\145\1\155\1\145\1\164\1\165\1\156\1\145\1\162\1\164\1\157"+
        "\1\151\1\165\1\144\1\141\1\151\1\157\1\147\1\162\1\163\1\145\1\44"+
        "\1\uffff\1\141\1\44\1\142\1\uffff\1\141\1\154\1\157\1\141\1\uffff"+
        "\1\144\1\162\2\44\1\151\1\143\1\145\1\157\1\164\1\143\1\44\1\163"+
        "\1\162\1\44\1\164\1\147\1\156\2\44\1\164\1\151\1\44\1\uffff\1\164"+
        "\1\uffff\1\154\1\165\1\145\1\44\1\153\1\145\1\156\2\uffff\1\143"+
        "\1\164\1\144\1\146\1\44\1\150\1\uffff\1\164\1\156\1\uffff\1\151"+
        "\1\156\1\44\2\uffff\1\44\1\156\1\uffff\1\44\1\145\1\154\1\44\1\uffff"+
        "\1\44\1\146\5\44\1\uffff\1\44\1\145\1\44\1\154\1\145\2\uffff\1\165"+
        "\1\uffff\1\44\1\164\2\uffff\1\44\6\uffff\1\162\1\uffff\1\145\1\144"+
        "\1\145\1\uffff\1\44\1\uffff\4\44\5\uffff";
    static final String DFA33_maxS =
        "\1\176\2\uffff\1\171\2\uffff\1\75\4\uffff\1\71\1\170\1\167\1\165"+
        "\1\145\1\157\1\156\2\157\1\156\2\157\2\uffff\2\75\2\76\1\150\1\157"+
        "\1\162\1\53\1\46\1\174\3\uffff\1\57\3\uffff\1\170\1\146\3\uffff"+
        "\1\160\5\uffff\1\164\1\165\1\163\1\162\1\172\1\157\1\151\2\164\1"+
        "\154\1\163\1\156\1\141\1\156\1\163\1\164\1\172\1\157\1\162\1\172"+
        "\1\146\13\uffff\1\151\1\164\1\145\12\uffff\1\146\1\uffff\1\146\2"+
        "\145\1\155\1\145\1\164\1\165\1\156\1\145\1\162\1\164\1\157\1\151"+
        "\1\165\1\144\1\141\1\151\1\157\1\147\1\162\1\164\1\145\1\172\1\uffff"+
        "\1\141\1\172\1\142\1\uffff\1\141\1\154\1\157\1\141\1\uffff\1\144"+
        "\1\162\2\172\1\151\1\143\1\145\1\157\1\164\1\143\1\172\1\163\1\162"+
        "\1\172\1\164\1\147\1\156\2\172\1\164\1\151\1\172\1\uffff\1\164\1"+
        "\uffff\1\154\1\165\1\145\1\172\1\153\1\145\1\156\2\uffff\1\143\1"+
        "\164\1\144\1\146\1\172\1\150\1\uffff\1\164\1\156\1\uffff\1\151\1"+
        "\156\1\172\2\uffff\1\172\1\156\1\uffff\1\172\1\145\1\154\1\172\1"+
        "\uffff\1\172\1\146\5\172\1\uffff\1\172\1\145\1\172\1\154\1\145\2"+
        "\uffff\1\165\1\uffff\1\172\1\164\2\uffff\1\172\6\uffff\1\162\1\uffff"+
        "\1\145\1\144\1\145\1\uffff\1\172\1\uffff\4\172\5\uffff";
    static final String DFA33_acceptS =
        "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\uffff\1\7\1\10\1\11\1\12\14"+
        "\uffff\1\35\1\37\12\uffff\1\76\1\77\1\100\1\uffff\1\102\1\105\1"+
        "\106\2\uffff\1\113\1\116\1\117\1\uffff\1\40\1\6\1\13\1\47\1\112"+
        "\25\uffff\1\41\1\73\1\44\1\103\1\42\1\45\1\104\1\43\1\50\1\66\1"+
        "\70\3\uffff\1\65\1\67\1\71\1\74\1\72\1\75\1\114\1\115\1\101\1\107"+
        "\1\uffff\1\110\27\uffff\1\53\3\uffff\1\57\4\uffff\1\111\26\uffff"+
        "\1\26\1\uffff\1\60\7\uffff\1\36\1\54\6\uffff\1\16\2\uffff\1\20\3"+
        "\uffff\1\24\1\25\2\uffff\1\51\4\uffff\1\61\7\uffff\1\23\5\uffff"+
        "\1\34\1\31\1\uffff\1\27\2\uffff\1\56\1\63\1\uffff\1\14\1\15\1\33"+
        "\1\21\1\46\1\55\1\uffff\1\64\3\uffff\1\30\1\uffff\1\3\4\uffff\1"+
        "\52\1\17\1\32\1\22\1\62";
    static final String DFA33_specialS =
        "\u00eb\uffff}>";
    static final String[] DFA33_transitionS = {
            "\2\54\1\uffff\2\54\22\uffff\1\54\1\31\1\51\1\55\1\56\1\47\1"+
            "\41\1\50\1\7\1\10\1\45\1\40\1\5\1\34\1\13\1\46\1\52\11\53\1"+
            "\27\1\4\1\32\1\6\1\33\1\30\1\uffff\32\56\1\11\1\uffff\1\12\1"+
            "\44\1\56\1\uffff\1\16\1\37\1\23\1\26\1\14\1\25\1\36\1\56\1\24"+
            "\2\56\1\22\5\56\1\17\1\15\1\3\1\21\1\20\1\35\3\56\1\1\1\42\1"+
            "\2\1\43",
            "",
            "",
            "\1\57",
            "",
            "",
            "\1\60",
            "",
            "",
            "",
            "",
            "\1\62\1\uffff\12\64",
            "\1\67\1\uffff\1\66\11\uffff\1\65",
            "\1\72\1\71\12\uffff\1\70\2\uffff\1\73",
            "\1\74",
            "\1\75",
            "\1\76",
            "\1\77",
            "\1\100",
            "\1\103\6\uffff\1\101\6\uffff\1\102",
            "\1\105\7\uffff\1\104",
            "\1\106\2\uffff\1\107",
            "\1\111\11\uffff\1\110",
            "",
            "",
            "\1\112",
            "\1\115\1\114",
            "\1\117\1\120",
            "\1\123\20\uffff\1\122",
            "\1\125",
            "\1\126",
            "\1\127",
            "\1\130",
            "\1\132",
            "\1\134",
            "",
            "",
            "",
            "\1\136\4\uffff\1\137",
            "",
            "",
            "",
            "\1\64\1\uffff\10\142\2\64\12\uffff\3\64\21\uffff\1\141\13"+
            "\uffff\3\64\21\uffff\1\141",
            "\1\64\1\uffff\12\144\12\uffff\3\64\35\uffff\3\64",
            "",
            "",
            "",
            "\1\145",
            "",
            "",
            "",
            "",
            "",
            "\1\146",
            "\1\147",
            "\1\150",
            "\1\151\20\uffff\1\152",
            "\1\153\22\uffff\1\154",
            "\1\155",
            "\1\156",
            "\1\157",
            "\1\160\14\uffff\1\161",
            "\1\162\2\uffff\1\163",
            "\1\165\11\uffff\1\164",
            "\1\166",
            "\1\167",
            "\1\170",
            "\1\171",
            "\1\172",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\174",
            "\1\175",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\24"+
            "\56\1\176\5\56",
            "\1\u0080",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\u0081",
            "\1\u0082",
            "\1\u0083",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\64\1\uffff\10\142\2\64\12\uffff\3\64\35\uffff\3\64",
            "",
            "\1\64\1\uffff\12\144\12\uffff\3\64\35\uffff\3\64",
            "\1\u0085",
            "\1\u0086",
            "\1\u0087",
            "\1\u0088",
            "\1\u0089",
            "\1\u008a",
            "\1\u008b",
            "\1\u008c",
            "\1\u008d",
            "\1\u008e",
            "\1\u008f",
            "\1\u0090",
            "\1\u0091",
            "\1\u0092",
            "\1\u0093",
            "\1\u0094",
            "\1\u0095",
            "\1\u0096",
            "\1\u0097",
            "\1\u0098\1\u0099",
            "\1\u009a",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "",
            "\1\u009c",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u009e",
            "",
            "\1\u009f",
            "\1\u00a0",
            "\1\u00a1",
            "\1\u00a2",
            "",
            "\1\u00a3",
            "\1\u00a4",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00a7",
            "\1\u00a8",
            "\1\u00a9",
            "\1\u00aa",
            "\1\u00ab",
            "\1\u00ac",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00ae",
            "\1\u00af",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00b1",
            "\1\u00b2",
            "\1\u00b3",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00b6",
            "\1\u00b7",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "",
            "\1\u00b9",
            "",
            "\1\u00ba",
            "\1\u00bb",
            "\1\u00bc",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00be",
            "\1\u00bf",
            "\1\u00c0",
            "",
            "",
            "\1\u00c1",
            "\1\u00c2",
            "\1\u00c3",
            "\1\u00c4",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00c6",
            "",
            "\1\u00c7",
            "\1\u00c8",
            "",
            "\1\u00c9",
            "\1\u00ca",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "",
            "",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00cd",
            "",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00cf",
            "\1\u00d0",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00d3",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00da",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00dc",
            "\1\u00dd",
            "",
            "",
            "\1\u00de",
            "",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\u00e0",
            "",
            "",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\u00e2",
            "",
            "\1\u00e3",
            "\1\u00e4",
            "\1\u00e5",
            "",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
            "\56",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS);
    static final short[] DFA33_eof = DFA.unpackEncodedString(DFA33_eofS);
    static final char[] DFA33_min = DFA.unpackEncodedStringToUnsignedChars(DFA33_minS);
    static final char[] DFA33_max = DFA.unpackEncodedStringToUnsignedChars(DFA33_maxS);
    static final short[] DFA33_accept = DFA.unpackEncodedString(DFA33_acceptS);
    static final short[] DFA33_special = DFA.unpackEncodedString(DFA33_specialS);
    static final short[][] DFA33_transition;

    static {
        int numStates = DFA33_transitionS.length;
        DFA33_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA33_transition[i] = DFA.unpackEncodedString(DFA33_transitionS[i]);
        }
    }

    class DFA33 extends DFA {

        public DFA33(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 33;
            this.eot = DFA33_eot;
            this.eof = DFA33_eof;
            this.min = DFA33_min;
            this.max = DFA33_max;
            this.accept = DFA33_accept;
            this.special = DFA33_special;
            this.transition = DFA33_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | INC | DEC | PLUS | SURPLUS | AND | OR | NEG | BIT_AND | BIT_OR | BIT_NEG | BIT_XOR | MUL | DIV | MOD | BIT_SHL | BIT_SHR | CHARACTER_LITERAL | STRING_LITERAL | HEX_LITERAL | DECIMAL_LITERAL | OCTAL_LITERAL | FLOATING_POINT_LITERAL | WS | COMMENT | LINE_COMMENT | LINE_COMMAND | IDENTIFIER );";
        }
    }
 

}